﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//int main()
//{
//
//	printf("%s\n", __FILE__);
//	printf("%d\n", __LINE__);
//	return 0;
//}

//int main()
//{
//	int a[] = {1,2,3,4,5,6,7,8,9};
//	int* p = a;
//	printf("%d ",*p);
//	printf("%d ", *(++p));
//	printf("%d ", (*p)++);
//	printf("%d ", *p--);
//	printf("%d ", --(*p));
//
//
//	return 0;
//}



#define MAX 1000

#define struct st  //为 struct这个关键字，创建⼀个简短的名字

#define forever for(;;) //⽤更形象的符号来替换⼀种实现

#define CASE break;case //在写case语句的时候⾃动把 break写上。

// 如果定义的 stuff过⻓，可以分成⼏⾏写，除了最后⼀⾏外，每⾏的后⾯都加⼀个反斜杠(续⾏符)

#define DEBUG_PRINT printf("file:%s\tline:%d\t \
 date:%s\ttime:%s\n" ,\
 __FILE__,__LINE__ , \
 __DATE__,__TIME__ );



//int main()
//{
//	forever
//		printf("%d",5);
//
//	return 0;
//}


//int main()
//{
//	 highr = 15.2;
//	printf("%d", MAX);
//
//	return 0;
//}



//int main()
//{
//	switch (1)
//	{
//	case 1:
//		break;
//	case 2:
//		break;
//	case 3:
//		break;
//
//	}
//
//
//	return 0;
//}


//int main()
//{
//	DEBUG_PRINT
//
//	return 0;
//}


//#define M 1000
//
//int main()
//{
//	printf("M = %d",M);
//
//	return 0;
//}

//#define PRI(n) printf("the value of "#n" is %d", n);
//
//
//int main()
//{
//
//    PRI(6); //printf("the value of "#n " is %d", n);
//    return 0;
//}



//#define GENERIC_MAX(type)		    \
//type type##_max(type x,typey)		\
//{									\
//	return (x>y?x:y);				\
//}									\
//
//
//int main()
//{
//	GENERIC_MAX(int);   //替换到宏体内后int##_max ⽣成了新的符号 int_max做函数名
//	GENERIC_MAX(float); //替换到宏体内后float##_max ⽣成了新的符号 float_max做函数名
//	
//		
//
//}


#define MAX 10
int main()
{
	printf("%d ", MAX);
	#undef MAX
	printf("%d ", MAX);


	return 0;
}